package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.dto.DeviceRecordDTO;
import com.hqully.labmanage.domain.dto.PageDTO;
import com.hqully.labmanage.domain.vo.DeviceRecordVO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[deviceRecordDTO]的操作Service
 * </p>
 *
 * @entity {@link DeviceRecordDTO}
 * @date 2022-10-08 10:05:23 <br>
 * @author hqully <br>
 * @version 1.0
 */

public interface DeviceRecordService {

     /**
      * <p>
      *     根据[deviceRecordDTO]的参数分页条件查询设备使用记录列表
      * </p>
      * @param page    分页参数
      * @param deviceRecordDTO 查询对象条件参数
      * @return {@link PageInfo<DeviceRecordVO>} 设备使用记录DTO分页列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     PageInfo<DeviceRecordVO> pageDeviceRecords(PageDTO page, DeviceRecordDTO deviceRecordDTO);


     /**
      * <p>
      *     根据[deviceRecordDTO]的参数条件查询设备使用记录
      * </p>
      * @param deviceRecordDTO 查询对象
      * @return {@link List<DeviceRecordVO>} 设备使用记录DTO列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     List<DeviceRecordVO> listDeviceRecords(DeviceRecordDTO deviceRecordDTO);


     /**
      * <p>
      *     添加设备使用记录
      * </p>
      * @param deviceRecordDTO 设备使用记录DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int addDeviceRecord(DeviceRecordDTO deviceRecordDTO);

     /**
      * <p>
      *     更新设备使用记录
      * </p>
      * @param deviceRecordDTO 设备使用记录DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int updateDeviceRecord(DeviceRecordDTO deviceRecordDTO);


     /**
      * <p>
      *     通过[id]删除设备使用记录
      * </p>
      * @param id 设备使用记录id
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int deleteDeviceRecordById(String id);

}
